package com.alperez.androidsmscamera.model;

/**
 * This class represents command, which has to be executed by the device
 * @author Stas
 *
 */
public abstract class ParsedCommandAbstract {
	public enum ParseCommandResult {
		NOT_PARSED,
		PARSED_OK,
		ERROR_WRONG_FORMAT,
		ERROR_COMMAND_NOT_SUPPORTED,
		ERROR_MISSING_ARGUMANTS,
		ERROR_WRONG_ARGUMANTS
	}
	
	private String commandUUID; //Value which is used to substitute request with response. (Thus no need to return command type in response)
	private CommandType commandType;

	public ParsedCommandAbstract(CommandType commandType) {
		this.commandType = commandType;
	}
	
	public String getCommandUUID() {
		return commandUUID;
	}

	public void setCommandUUID(String commandUUID) {
		this.commandUUID = commandUUID;
	}

	public CommandType getCommandType() {
		return commandType;
	}
	
	public abstract String toJson();

}
